package com.delivery.www.dao;

import com.delivery.www.po.Order;

import java.util.List;

/**
 * @author 12970
 */
public interface OrderDao {
    /**
     * 下单
     *
     * @param userId  用户id
     * @param storeId 店铺id
     * @param dishId  菜品id
     * @param status  状态
     * @param money   金额
     * @param couponId 优惠券id
     * @return 改变行数
     */
    int addOrder(int userId, int storeId, int dishId, int status, Float money,int couponId);

    /**
     * 查看完成订单
     *
     * @param storeId 店铺id
     * @param status  状态
     * @return 完成的订单
     */
    List<Order> getCompleteOrder(int storeId, int status);

    /**
     * 查看未完成订单
     *
     * @param storeId 店铺id
     * @param status  状态
     * @return 未完成订单
     */
    List<Order> getUnCompleteOrder(int storeId, int status);

    /**
     * 修改订单状态
     *
     * @param orderId 下单id
     * @param status  状态
     * @param storeId 店铺id
     * @return 改变行数
     */
    int modifyStatus(int orderId, int status, int storeId);

    /**
     * 用户获取订单
     *
     * @param userId 用户id
     * @return 用户的订单
     */
    List<Order> getOwnOrder(int userId);

    /**
     * 获取订单
     *
     * @param orderId 订单id
     * @return 返回此订单
     */
    Order getOrder(int orderId);

    /**
     * 购物车下单
     *
     * @param userId 用户id
     * @param dishId 菜品id列
     * @return 全部改变
     */
    List<Integer> cartOrder(int userId, List<Integer> dishId);
}
